package com.file.system.mapper.system;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.file.system.entity.system.WebRoleMenu;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色关联菜单 Mapper 接口
 *
 * @author jch
 * @since 2022-08-11
 */
@Mapper
public interface WebRoleMenuMapper {

    //添加角色关联菜单
    int save(WebRoleMenu webRoleMenu);

    //编辑角色关联菜单
    int update(@Param("ew") UpdateWrapper<WebRoleMenu> query);

    //编辑角色关联菜单
    int updateById(WebRoleMenu webRoleMenu);

    //添加角色关联菜单(批量)
    int saveBatch(@Param("list") List<WebRoleMenu> webRoleMenuList);

    //通过id删除角色关联菜单
    int removeById(WebRoleMenu webRoleMenu);

    //通过id查询角色关联菜单
    WebRoleMenu selectById(@Param("id") Long id);

    //查询角色关联菜单
    List<WebRoleMenu> select(@Param("ew") QueryWrapper<WebRoleMenu> query);

    //查询角色关联菜单分页
    List<WebRoleMenu> select(Page<WebRoleMenu> page, @Param("ew") QueryWrapper<WebRoleMenu> query);

    //查询角色关联菜单数量
    int selectCount(@Param("ew") QueryWrapper<WebRoleMenu> query);

    //删除旧菜单
    int removeMenuByRoleId(@Param("id") Long id);
}
